%
%~~
%~~  Especificação do Sistema
%~~
%
\chapter{Especificação do Sistema}
\label{01:chp:especificacao}

O sistema de reconhecimento de expressões faciais voltado para publicidade e propaganda proposto neste projeto é formado por dois módulos distintos. Essa separação entre o \textit{core} e a aplicação é justificada pelo caráter genérico da tecnologia utilizada, já que o reconhecimento de expressões faciais pode ser aplicado a diversas áreas que não a publicidade. Logo, ao se subdividir o projeto em um módulo de reconhecimento de expressões e outro de análise e exibição dos dados, é facilitada a reutilização da tecnologia em aplicações distintas.
 
O primeiro módulo do sistema contém a tecnologia de extração e reconhecimento de expressões faciais, este módulo é o responsável por obtenção das imagens, detecção das faces, extração de características faciais e reconhecimento das expressões, disponibilizando os dados para o segundo módulo. Já este segundo módulo integrante do sistema utiliza os dados vindos do primeiro módulo para a realização de cálculos de metas, indicadores e estatísticas, cuidando também da exibição de relatórios que apresentem as métricas relevantes para o cenário de aplicação estabelecido, o do mercado publicitário

O cenário vislumbrado para a aplicação publicitária é o de uma vitrine de shopping, na qual as reações expressas pelas características faciais dos passantes seriam registradas e avaliadas. Então, a partir dessa análise, seria possível verificar como o design da vitrine, a maneira de exposição das mercadorias, estaria afetando as reações dos consumidores, tanto positivamente como negativamente. Constituindo assim uma maneira de se avaliar e comparar os impactos alcançados com diferentes estratégias além de facilitar a escolha de um determinado design em detrimento de outro menos eficaz.\pagebreak 

\begin{figure}[h!]
	\center
	\includegraphics[scale=0.60]{images/arquitetura.png}
	\label{img:arquitetura}
	\caption{Arquitetura do Projeto}
\end{figure}

\section{Módulo de Reconhecimento de Expressões Faciais}
\label{01:sec:modulo1}

	Este módulo é responsável pelo reconhecimento de expressões faciais, como dito anteriormente, e para atingir esse objetivo serão utilizadas técnicas de visão computacional. Estas técnicas por sua vez compreendem quatro etapas: aquisição, reconhecimento facial, descrição e classificação. Todas as etapas do reconhecimento serão desenvolvidas utilizando-se a biblioteca aberta de visão computacional OpenCV.
 
A primeira etapa, a aquisição de imagens, será realizada através de uma câmera digital comum. Esta \textit{webcam} deverá ser fixada em um local adequado para que seja possível obter um perfil facial frontal das pessoas que estiverem olhando para a aplicação. Os vídeos adquiridos servirão de entrada de dados para o sistema e, como o sistema não necessita de requisitos de tempo real, essas entradas serão arquivos de vídeo das gravações realizadas armazenados em um banco de dados.
 
O fluxo de vídeo será adquirido de maneira contínua pela câmera fixada, e após cada intervalo de tempo determinado o programa se encarrega iniciar um novo fluxo de vídeo, salvando o vídeo anterior em um arquivo, depositando-o no banco de dados. Esse arquivo é então utilizado pela parte subsequente do programa, responsável por analisá-los, reconhecendo as faces e expressões faciais presentes no vídeo.

A segunda etapa, o reconhecimento facial, consiste em reconhecer faces humanas a partir dos vídeos. Somente os quadros do vídeo em que um rosto humando for reconhecido serão enviados para as etapas subsequentes.

A terceira etapa, envolve a obtenção de características faciais a partir dos quadros da etapa anterior. Para isso são utilizados elementos conhecidos por descritores na área de visão computacional. Como em qualquer \textit{software}, os descritores apresentam limitações e podem falhar em encontrar característica que podem ser óbvias ao olho humano. Foge do escopo do projeto o desenvolvimento de um descritor livre de falhas, e os eventuais erros serão ignorados desde que não apresentem riscos às funcionalidades gerais do sistema como um todo.
 
A última etapa, a etapa de classificação, é a que utiliza algoritmos de aprendizado de máquina para, partindo das informações oferecidas pelos descritores, classificar as expressões faciais corretamente. Nessa etapa também existem limitações na tecnologia assim como foge do escopo do trabalho o desenvolvimento de um classificador perfeito. Logo, os possíveis erros de classificação ou imprecisão na classificação de expressões serão ignorados, se eventuais e irrelevantes para o cenário geral do projeto.
 
O sistema também se compromete a identificar apenas um subconjunto de todas as expressões faciais, são elas as de: Alegria, Tristeza, Repulsa e Surpresa. A escolha destas quatro expressões foi feita tendo em vista a aplicação, voltada para a publicidade em vitrines de lojas. O grupo considerou este conjunto como as mais relevantes, pois dificilmente uma vitrine de loja desencadeia outras expressões como Raiva e Medo. Apesar da limitação, o sistema será implementado de modo a suportar a adição de novas expressões no futuro.
 
Esse módulo, então, oferece como saídas os resultados do reconhecimento de expressões faciais. Fornecendo dados como tempo total que cada tipo de expressão detectada apareceu no vídeo, tempo total do arquivo de vídeo analisado, além do número de faces detectadas. Os dados são, por fim, guardados em um banco de dados para que possam ser consumidos pelo módulo de serviço.

\section{Módulo de Serviço}
\label{01:sec:modulo2}

Segundo \citet{Hall02measuring}, um dos maiores problemas encontrados por agências de publicidade é medir a eficácia das campanhas criadas e o modelo típico usado para determinar a resposta dos consumidores à publicidade usa um fluxo que começa com a cognição, que se traduz em sentimento e acaba em um comportamento. Deste ponto de vista, uma forma de medir a resposta do consumidor seria através da análise do comportamento demonstrado pelos consumidores.

Ao considerar as expressões faciais como um comportamento que demonstra um sentimento gerado por uma cognição, o sistema será capaz de medir a eficácia de uma campanha através de análises do comportamento facial demonstrado por consumidores ao olhar para uma vitrine.

O objetivo do módulo de serviço do sistema é exibir informações relevantes a um usuário da área de publicidade e propaganda que deseje medir a eficácia de uma campanha publicitária. Neste trabalho, a campanha publicitária considerada é uma determinada disposição de produtos em uma vitrine de shopping. Para atingir este objetivo, este módulo consumirá dados gerados pelo módulo de reconhecimento e exibirá, através de uma interface web, os dados considerados relevantes. 

A interface do módulo de serviço deve ser simples de forma que um usuário padrão, que não é familiarizado com as especificidades do módulo de reconhecimento consiga utilizá-la sem maiores problemas. As informações exibidas por este módulo serão filtradas e preparadas a partir dos dados coletados pelo módulo de reconhecimento de forma a facilitar sua análise.

O sistema prevê a exibição de alguns relatórios para fornecer uma maneira mais típica para analisar as informações que são colhidas pelo módulo de reconhecimento de expressões faciais seguintes informações, os relatório compreendidos para a aplicação em publicidade são os seguintes:

\begin{description}
\item[Relatório de tempo de visualização --] O sistema prevê um relatório com informações sobre o tempo de visualização da vitrine, contendo um gráfico apresentando a porcentagem do tempo total em que houve visualização da vitrine, um segundo gráfico contendo informações de visualização ao longo do tempo, ilustrando assim os períodos de picos de visualização, além de permitir a filtragem por período de tempo.

\item[Relatório das expressões --] O sistema prevê um relatório contendo informações sobre as expressões faciais das visualizações. O relatório contém um gráfico ilustrando a porcentagem de aparecimento de cada emoção no total de faces detectadas ao longo do tempo, um outro gráfico apresenta a comparação entre expressões, além disso, os relatórios apresentam possibilidade de filtragem de dados por período de tempo e por expressões faciais.

\item[Relatório de funcionamento do módulo de reconhecimento --] Este relatório deverá apresentar Informações relacionadas ao funcionamento do módulo de reconhecimento, com porcentagem de expressões não reconhecidas nas faces examinadas e possibilidade de filtro por período de tempo.
\end{description}

Com a exibição dos relatórios este módulo do sistema pretende cumprir a tarefa de facilitar a análise de como um determinada design está afetando a reação dos observadores. Fornecendo assim uma forma de avaliar a qualidade e o impacto da publicidade em seus consumidores.
